package flca.osm.perst.model;

import java.util.ArrayList;
import java.util.List;

import org.garret.perst.Persistent;

import flca.voicenav.model.LatLng;

public class PNode extends Persistent
{
	private int id;
	private int lat;
	private int lng;
	private List<Integer> ways;
	
	
	public PNode()
	{
		super();
	}

	public PNode(int id, int lat, int lng)
	{
		super();
		this.id = id;
		this.lat = lat;
		this.lng = lng;
	}

//	public PNode(int id, double lat, double lng)
//	{
//		super();
//		this.id = id;
//		this.lat = (int) lat;
//		this.lng = (int) lng;
//	}

	public int getId()
	{
		return id;
	}
	public void setId(int id)
	{
		this.id = id;
	}
	
	public LatLng getLatlng()
	{
		return new LatLng(lat,lng);
	}

//	public void setLatlng(LatLng latlng)
//	{
//		this.lat = latlng.getLat();
//		this.lng = latlng.getLng();
//	}

	public int getLat()
	{
		return lat;
	}
	public void setLat(int lat)
	{
		if (Math.abs(lat) < 180 && lat != 0) {
			System.err.println("Lat < 180 ???");
		}
		this.lat = lat;
	}
	public int getLng()
	{
		return lng;
	}
	public void setLng(int lng)
	{
		this.lng = lng;
	}

	public List<Integer> getWays()
	{
		return ways;
	}

	public void setWays(List<Integer> ways)
	{
		this.ways = ways;
	}

	public void addWay(int aWayId)
	{
		if (ways == null) {
			ways = new ArrayList<Integer>();
		}
		ways.add(aWayId);
	}
	
	public boolean isCorner() {
		return (ways != null && ways.size() > 0);
	}

	
	@Override
	public String toString()
	{
		return "OsmNode [id=" + id + ", lat=" + lat + ", lng=" + lng + ", connways=" + ways +  "]";
	}
	
}
